
function set_cookie( name, value, expires, path, domain, secure ) {
	var today = new Date();
	today.setTime( today.getTime() );
	if ( expires ) {expires = expires * 1000 * 60 * 60 * 24;}
	var expires_date = new Date( today.getTime() + (expires) );
	document.cookie = name + "=" +escape( value ) +
	( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) +
	( ( path ) ? ";path=" + path : "" ) +
	( ( domain ) ? ";domain=" + domain : "" ) +
	( ( secure ) ? ";secure" : "" );
}

jQuery.noConflict();

jQuery(document).ready(function($){

	$("img.ph").parent("a").prettyPhoto();
	$("a.ph").prettyPhoto();

	var trigger = $("#over_1").overlay({
		mask: {
			color: '#000',
			loadSpeed: 200,
			opacity: 0.5
		},
		closeOnClick: true,
		closeOnEsc: true,
		load: false,
		fixed: false,
		top: '20%',
		onBeforeLoad: function (){
			showwork();
		},
		onLoad: function () {
			hidework();
		}
	});

	$("#over_1 .close").live("click", function() {
		$("#over_1").overlay().close();
	});

	$("input[type=submit]").click(function(){
		jQuery("#uploaded").val("0");
	});


	$(".datepicker").datepicker({
		dayNames: ['Воксресение', 'Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота'],
		dayNamesMin: ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб'],
		monthNamesShort: ['Янв', 'Фев', 'Мар', 'Апр', 'Май', 'Июн', 'Июл', 'Авг', 'Сен', 'Окт', 'Сен', 'Дек'],
		monthNames: ['Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Сентябрь', 'Декабрь'],
		firstDay: 1,
		numberOfMonths: [2,2],
		dateFormat: "dd.mm.yy"

	});

	$(".js_alert").hide();

	$(".with_confirm").click(function() {
		return confirm('Вы уверены?');
	});

	if ($("#check_length").size() > 0) {
		$("#check_length").val("");
	}

	$("#check_length").keypress(function() {

		var len = $(this).val().length;
		var text = $(this).val();
		if (len > 480) {
			$(this).val(text.substr(0, 480));
			len = 480;
		}
		$(".keypressed_symbols").text(len);

	});

	$(".page_title a").each(function() {

		var el = $(this);
		var rel = el.attr('rel');
		if ($("a.block_"+rel).size() > 0) {
			el.addClass('ajax');
		} else {
			el.parent().prepend('<span>'+el.html()+'</span>');
			el.text("");
		}
	});

	$(".must_hide").parent().addClass('hidden');

	$("input[type=text][id*=phone]").masker("+7 (999) 999 9999");

	$(".type_error").delay(500).effect("shake");
	$(".type_msg").delay(3000).effect("fade", null, 500);

	$("#rights_form input.all_rights").click(function() {
		var group = $(this).attr('rel');
		$("#rights_form fieldset[rel="+group+"] input[type=checkbox][class!=all_rights]").prop("checked", $(this).prop('checked'));
	});

	$("#rights_form input[class!=all_rights]").click(function() {
		var group = $(this).attr('rel');
		var status = check_radio(group);
		$("#rights_form fieldset[rel="+group+"] input.all_rights").prop("checked", status);
	});

	$(".multi_upload_preview").live({
		mouseover: function() {
			$(this).find('a').show();
		},
		mouseout: function() {
			$(this).find('a').hide();
		}
	});

	$(".multi_upload_preview > a.deleteimage").live('click', function(){
		var el = $(this);
		var rel = el.attr('rel');
		showwork();
		$.ajax({
			type: "POST",
			url: "/admin/tools/delete/",
			data: "file="+rel,
			success: function(){
				var id = el.parent().parent().attr('id');
				this_id = id.replace('jqf_list_', '');
				el.parent().detach();
				if ($("#jqf_list_"+this_id).find(".multi_upload_preview").size() <= $("#jqf_counting_"+this_id).val()) {
					$("#"+this_id+"Uploader").show();
				}
				hidework();
			}
		});
		return false;

	});
	$(".setmainimage").live('click', function(){
		var rel = $(this).attr('rel');
		var el = $(this);
		showwork();
		$.ajax({
		   type: "POST",
		   url: "/admin/catalog/setmain/",
		   data: "data="+rel,
		   success: function(){
			 var id = el.parent().parent().attr('id');
			 this_id = id.replace('jqf_list_', '');
			 $("#jqf_list_"+this_id).find(".multi_upload_preview").removeClass('border_red');
			 el.parent().addClass('border_red');
			 hidework();
		   }
		 });
		 return false;
	});

	$(".setcolor").live('click', function() {
		showwork();
		var rel = $(this).attr('rel');
		$.ajax({
		   type: "POST",
		   url: "/admin/catalog/setcolor/",
		   data: "data="+rel,
		   success: function(data) {
			   $("#over_1").html(data);
			   $("#over_1").overlay().load();
			   hidework();
		   }
		 });
		 return false;
	});
	$(".show_patter_file").live("mouseover", function() {
		var rel = $(this).attr('rel');
		var title = $(this).attr('title');
		if (title != "")
		$(this).parent().append("<img src='/uploads/pattern/"+rel+"/"+title+"' style='position: absolute; bottom: 25px; left: 25px; padding: 2px; border: 1px solid #ccc; background: #eee;' class='preview_"+rel+"' />");
	}).live("mouseout", function() {
		var rel = $(this).attr('rel');
		if ($(".preview_"+rel).size() > 0)
		$(".preview_"+rel).detach();
	});

	if ($(".loaded_images").size() > 0) {
		$(".loaded_images").each(function() {
			el = $(this);
			var id = el.attr("id").replace("loaded_images_", '');
			$("#jqf_list_"+id).html(el.html());
			el.detach();
			 if ($("#jqf_list_"+id).find(".multi_upload_preview").size() >= $("#jqf_counting_"+id).val()) {
				 $("#"+id+"Uploader").hide();
			 }
			 if ($("#jqf_list_item_image_0").size() > 0) {
				 $("#jqf_list_item_image_0").sortable({
					 'cursor': 'crosshair',
					 'placeholder': "ui-state-highlight multi_upload_preview",
					 'items': 'div',
					 'containment': 'parent',
					 'update': function(event, ui) {
						 result = $('#jqf_list_item_image_0').sortable('toArray');
							showwork();
							$.ajax({
							   type: "POST",
							   url: "/admin/catalog/setorder/",
							   data: "data="+result,
							   success: function(){
								 hidework();
							   }
							 });
					 }

				 });
			 }
		});
	}

	$(".add_pg").click(function() {
		showwork();
		$.ajax({
		   type: "GET",
		   url: "/admin/pg/ajax/",
		   success: function(data) {
			   $("#over_1").html(data);
			   $("#over_1").overlay().load();
			   hidework();
		   }
		 });
		 return false;
	});
	$(".edit_pg").click(function() {
		var id = $("#news_pg-0 option:selected").val();
		if (id != 0)
			window.open('/admin/pg/edit/'+id+'/');
		else
			alert('Ну выбрать надо какую-нибудь');
		return false;
	});

	if ($(".havefckeditor").size() <= 0) {
		hidework();
	}

	$('.small_preview').hover(function() {
		var src = $(this).attr('rel');
		var title = $(this).attr("alt");
		$(this).parent().append("<div class='small_preview_div'><img src='"+src+"' alt='"+title+"' title='"+title+"' /></div>");
	}, function() {
		$(this).parent().find(".small_preview_div").detach();
	});

		$( "#together_select" ).autocomplete({
			source: "/admin/catalog/together/",
			minLength: 2,
			search: function() {
				showwork();
			},
			open: function() {
				hidework();
			},
			select: function( event, ui ) {
				showwork();
				var rel = $("#together_select").attr("rel");
				$.ajax({
				   type: "POST",
				   data: 'item='+rel+"&id="+ui.item.value,
				   url: "/admin/catalog/together_add/",
				   success: function(data) {
					   if (data.substr(0,2) == 'ok') {
						   newid = data.split(":");
							$(".together").append("<div id='together_"+newid[1]+"' class='one_together'>"+ui.item.label+" <a href='#' class='delete_together' rel='"+ui.item.value+":"+rel+"'><img src='/data/images/icons/delete.png' alt='Удалить' title='Удалить' /></a></div>");
					   } else {
							$("#together_"+data).effect( "pulsate" );
					   }
					   $("#together_select").val("");
					   hidework();
				   }
				 });
				 return true;
			}
		});
		$(".one_together").live({
			'mouseover': function() {
				$(this).addClass('ui-state-highlight');
			},
			'mouseout': function() {
				$(this).removeClass('ui-state-highlight');
			}
		});
		$(".one_together a").live('click', function() {
				showwork();
				var rel = $(this).attr("rel");
				var el = $(this).parent();
				$.ajax({
				   type: "POST",
				   data: 'data='+rel,
				   url: "/admin/catalog/together_delete/",
				   success: function(data) {
						el.detach();
						hidework();
				   }
				 });
				 return false;
		});

		$( ".droppable" ).droppable({
			hoverClass: 'drophover',
			tolerance: 'pointer',
			drop: function( event, ui ) {
				var el = $(this);
				$( this ).addClass( "ui-state-highlight" );
				var ids = "";
				jQuery("#drag li").each(function() {
					tmp = $(this).attr("id").split(":");
					ids = ids + tmp[1] + ":";
				});
				if (ids.length > 0) {
					showwork();
					$.ajax({
						type: "POST",
						url: "/admin/catalog_import/move/",
						data: "ids="+ids+"&parent="+el.attr("id"),
						success: function(data){
							$( ".droppable" ).removeClass( "ui-state-highlight" );
							hidework();
						}
					});

				}
				jQuery("#drag li").detach();
				jQuery("#selectable").selectable("refresh");
				if (jQuery("#selectable li").size() <= 0) {
					location.reload(-1);
				}
				jQuery("#drag-div").draggable("disable").css("cursor", "auto");
				jQuery("#drag-div a").hide();
				jQuery("#selectable li").each(function(index) {
					$(this).attr('rel', index);
				});
				jQuery("#drag-div").css("opacity", 1);
			}
		});
		if ($("#drag-div").size() > 0) {
			$(document).scroll(function() {
				$("#drag-div").css("top", $(document).scrollTop()+"px");
			});
		}

				$( "#drag-div" ).draggable({
					revert: true,
					opacity: 0.35,
					snapTolerance: 20
				}).draggable("disable");

		$( "#selectable" ).selectable({
			stop: function() {
				$(".ui-selected", this).each(function(index) {
					$(this).appendTo($('#drag'));
				});
				$( "#drag-div" ).draggable("enable").css("cursor", "move");;
				$( "#drag-div a" ).show();
			},
			start: function() {
			}

		});
		$(".escapse-select").click(function(){
			jQuery("#drag li").each(function() {
				jQuery(this).removeClass("ui-selected");
				if (jQuery(this).attr('rel') > 0) {
					pos = jQuery(this).attr('rel') - 1;
					jQuery( "#selectable li:eq("+pos+")" ).after(jQuery(this));
				} else if (jQuery(this).attr('rel') == 0) {
					jQuery(this).prependTo( "#selectable" );
				}
			});
			jQuery( "#selectable").selectable("refresh");
			jQuery( "#drag-div" ).draggable("disable").css("cursor", "auto");
			jQuery( "#drag-div a" ).hide();
			return false;
		});
		$(".delete-select").click(function() {
			if (confirm('Вы уверены?')) {
				var ids = "";
				jQuery("#drag li").each(function() {
					tmp = $(this).attr("id").split(":");
					ids = ids + tmp[1] + ":";
				});
				if (ids.length > 0) {
					showwork();
					$.ajax({
						type: "POST",
						url: "/admin/catalog_import/delete/",
						data: "ids="+ids,
						success: function(data){
							hidework();
						}
					});

				}
				jQuery("#drag li").detach();
				jQuery("#selectable").selectable("refresh");
				if (jQuery("#selectable li").size() <= 0) {
					location.reload(-1);
				}
				jQuery("#drag-div").draggable("disable").css("cursor", "auto");
				jQuery("#drag-div a").hide();
				jQuery("#selectable li").each(function(index) {
					$(this).attr('rel', index);
				});
				jQuery("#drag-div").css("opacity", 1);
			}
			return false;
		});

		$(".show_video").click(function() {
			showwork();
			$.ajax({
				type: "POST",
				url: "/admin/tools/video/",
				data: "rel="+$(this).attr('rel'),
				async: false,
				success: function(data){
					$("#over_1").html(data);
					hidework();
				}
			});
			$("#over_1").overlay().load();
			return false;
		});

		$(".givememore").click(function() {
			var text = $(this).text();
			if (text == 'полностью') {
				$(this).text('свернуть').parent().find('span').removeClass('hidden');
			} else {
				$(this).text('полностью').parent().find('span').addClass('hidden');
			}
			return false;
		});

		// КАТАЛОГ КАСТОМНЫЕ ПОЛЯ

		$("#catid_new > input").live("focus", function() {
			var el = $(this);
			if (el.val() == "Добавить новую категорию") {el.val("");el.css("border", "");}
		}).live("blur", function() {
			var el = $(this);
			if (el.val() == "") {el.val("Добавить новую категорию");el.css("border", "");}
		});

		$(".optid_new > input").live("focus", function() {
			var el = $(this);
			if (el.val() == "Добавить новый параметр") {el.val("");el.css("border", "");}
		}).live("blur", function() {
			var el = $(this);
			if (el.val() == "") {el.val("Добавить новый параметр");el.css("border", "");}
		});

		$(".catid_add").live("click", function() {
			var el = $("#catid_new > input");
			var id = $("#cp_id").val();
			if (el.val() == "Добавить новую категорию") {el.css("border", "1px solid red");} else {
				showwork();
				$.ajax({
					type: "POST",
					url: "/admin/catalog/custom_add_optgr/"+id+"/",
					data: "name="+el.val(),
					async: false
				});
				updateCustomEditFields(id);
			}
			return false;
		});

		$(".optid_add").live("click", function() {
			var parent_id = $("#cp_id").val();
			var id = $(this).attr("rel");
			var el = $(".optid_new_"+id+" > input");
			if (el.val() == "Добавить новый параметр") {el.css("border", "1px solid red");} else {
				showwork();
				$.ajax({
					type: "POST",
					url: "/admin/catalog/custom_add_opt/"+parent_id+"/",
					data: "name="+el.val()+"&optgr="+id,
					async: false
				});
				updateCustomEditFields(parent_id);
			}
			return false;
		});

		$(".optgr_update").live("keyup", function() {
			var id = $(this).attr("id");
			$("a[rel="+id+"]").show();
		});
		$(".option_upgrade_input").live("keyup", function() {
			var id = $(this).attr("id");
			$("a[rel="+id+"]").show();
		});

		$(".optgr_save").live("click", function() {
			var id = $(this).attr("rel");
			var el = $(this);
				showwork();
				$.ajax({
					type: "POST",
					url: "/admin/catalog/custom_save_optgr/"+id+"/",
					data: 'name='+$("#"+id).val(),
					async: false,
					success: function() {
						hidework();
						el.hide();
					}

				});
				return false;
		});
		$(".option_save").live("click", function() {
			var id = $(this).attr("rel");
			var el = $(this);
				showwork();
				$.ajax({
					type: "POST",
					url: "/admin/catalog/custom_save_option/"+id+"/",
					data: 'name='+$("#"+id).val(),
					async: false,
					success: function() {
						hidework();
						el.hide();
					}

				});
				return false;
		});

		$(".delete_option").live("click", function() {
			if (confirm('Вы уверены, что хотите удалить опцию? Из всех товаров, для которых указана эта опция, все значения будут утеряны!!!')) {
				var parent_id = $("#cp_id").val();
				showwork();
				$.ajax({
					type: "POST",
					url: "/admin/catalog/custom_delete_option/"+$(this).attr('rel')+"/",
					async: false,
					success: function() {
						hidework();
						updateCustomEditFields(parent_id);
					}
				});
			}
			return false;
		});
		$(".delete_optgr").live("click", function() {
			if (confirm('Вы уверены, что хотите удалить эту группу опций?\n Все параметры из этой группы и любые упоменания о них будут удалены!!!\n Из всех товаров, для которых указана эта опция, все значения будут утеряны!!!')) {
				var parent_id = $("#cp_id").val();
				showwork();
				$.ajax({
					type: "POST",
					url: "/admin/catalog/custom_delete_optgr/"+$(this).attr('rel')+"/",
					async: false,
					success: function() {
						hidework();
						updateCustomEditFields(parent_id);
					}
				});
			}
			return false;
		});

		$(".change_optgr").live("click", function() {
			$(this).addClass("change_optgr_active").parent().append($(".allready_have_optgr"));
			$(".allready_have_optgr").show().find("ul").attr("class", "").addClass($(this).attr("rel"));
			return false;
		});

		$(".move_option_to_optgr").live("click", function() {
			var option_id = $(".allready_have_optgr > ul").attr("class");
			var group_id = $(this).attr("rel");
			var parent_id = $("#cp_id").val();
				showwork();
				$.ajax({
					type: "POST",
					url: "/admin/catalog/custom_move_opt/"+parent_id+"/",
					data: "group_id="+group_id+"&option_id="+option_id,
					async: false
				});
				updateCustomEditFields(parent_id);
				return false;
		});

		$("*[class!=change_optgr][class!=move_option_to_optgr]").click(function(){
			if ($(".allready_have_optgr").size() > 0) {
				$(".allready_have_optgr").hide();
				$(".change_optgr_active").removeClass("change_optgr_active");
			}
		});

		$( ".cat_fields" ).sortable({
			"handle": ".handle_cat",
			"placeholder": "ui-state-highlight",
			"containment": ".custom_fields_div",
			"opacity": 0.8,
			"stop": function(event, ui) {
				showwork();
				$.ajax({
					type: "POST",
					url: "/admin/catalog/custom_order_optgr/",
					data: $(this).sortable("serialize"),
					async: false,
					success: function() {
						hidework();
					}
				});
			}
		});

		$( ".cat_fields > li > ul" ).live({
			"mouseover": function() {
				$(".cat_fields").sortable("disable");
				$(this).sortable({
					"handle": ".handle_option",
					"placeholder": "ui-state-highlight",
					"containment": ".custom_fields_div",
					"opacity": 0.8,
					"stop": function(event, ui) {
						showwork();
						$.ajax({
							type: "POST",
							url: "/admin/catalog/custom_order_options/",
							data: $(this).sortable("serialize"),
							async: false,
							success: function() {
								hidework();
							}
						});

					}
				});
			},
			"mouseout": function() {
				$(".cat_fields").sortable("enable");
				$(this).sortable("destroy");
			}
		});
		$( ".cat_fields > li > ul > li" ).live({
			"mouseover": function() {
				$(this).children(".handle_option").show();
			},
			"mouseout": function() {
				$(this).children(".handle_option").hide();
			}
		});

		$(".cat_fields li").live({
			"mouseover": function() {
				$(this).children(".handle_cat").show();
			},
			"mouseout": function() {
				$(this).children(".handle_cat").hide();
			}
		});

		//$( "#sortable" ).disableSelection();

		// КАТАЛОГ КАСТОМНЫЕ ПОЛЯ

});

function updateCustomEditFields(id){
		jQuery( ".cat_fields" ).sortable("destroy");
				jQuery.ajax({
					type: "GET",
					url: "/admin/catalog/custom_edit_fields/"+id+"/",
					async: false,
					success: function(data){
						jQuery(".custom_fields_div").html(data);
						hidework();
					}
				});

		jQuery( ".cat_fields" ).sortable({
			"handle": ".handle_cat",
			"activate": function() {
				console.log('activated');
			},
			"deactivate": function() {
				console.log('deactivated');
			}
		});
}


jQuery(window).bind('beforeunload', function(event){
	if (jQuery("#uploaded").val() == '1') {
		return 'Вами были загружены изображения, но Вы не сохранили изменения.\nХотите уйти со страницы?';
	}
});
function check_radio(group) {
	var status = true;
	jQuery("#rights_form fieldset[rel="+group+"] input[type=checkbox][class!=all_rights]").each(function (index, el) {
		if (jQuery(this).prop('checked') == false)
			status = false;
	});
	return status;
}
function openclose(id) {
	var block = '.block_'+id;
	if (jQuery(block).size() > 0) {

		jQuery(block).each(function() {
			var el = jQuery(this);
			var rel = el.attr('rel');
			var tr = el.parent().parent();
			if (tr.hasClass('hidden')) {
				tr.removeClass('hidden');
				set_cookie('js_tr_'+rel, 'show', 604800, '/');
			} else {
				tr.addClass('hidden');
				set_cookie('js_tr_'+rel, 'hide', 604800, '/');
				closeall(rel);
			}
		});
	}
	return false;
}
function closeall(id) {
	var block = '.block_'+id;
	if (jQuery(block).size() > 0) {
		jQuery(block).each(function() {
			var el = jQuery(this);
			var rel = el.attr('rel');
			var tr = el.parent().parent();
			tr.addClass('hidden');
			closeall(rel);
		});
	}
}
function showwork() {
	jQuery(".ajax_work").show();
}
function hidework() {
	jQuery(".ajax_work").hide();
}
function FCKeditor_OnComplete(editorInstance){
	hidework();
}

/* VALID */
function valid_float(string) {
	if (string != "")
		return string.match(/^[0-9]{0,10}\.[0-9]{2}$/);
	else return true;
}
/* VALID */